import { initState } from "./state";

export function initMixin(vue) {
    //后续组件化开发的时候 vue.extend可以创造一个子组件，子组建可以继承Vue,子组建也可以调用_init方法
    Vue.prototype._init = function (options) {
        const vm = this;
        //把用户的选项放到vm上 这样其它方法都可以取道options
        vm.$options = options;//为了后续扩展方法 都可以获取到optins选项
        console.log(vm);

        initState(vm)
        if(vm.$options.el){
            console.log('页面要挂载');
            //现在数据已经被劫持了

            //template -> ast语法树(用)
            vm.$mount(vm.$options.el);
        }
    }
    Vue.prototype.$mount = function (el) {
        const vm = this;
        const opts = vm.$options;
        document.querySelector(el);//获取真实的元素
        vm.$el = el;//页面真实的元素

        if(!vm.render){
        }
    }
}
